Information transfer to gaming machines

ABSTRACT

A gaming machine requests a download from peer gaming machines in a peer to peer gaming machine network. Responses from gaming machines in the peer to peer gaming machine network are evaluated by the requesting gaming machine, and a peer gaming machine is selected as a function of connectivity. The download is then requested from the selected gaming machine. Connection quality is monitored during download and download can be dynamically changed to a different peer should the current download connection become undesirable and/or a better connection discovered.

RELATED APPLICATION

This application claims priority under 35 U.S.C. 119(e) from U.S.Provisional Application Ser. No. 60/651,008 filed Feb. 8, 2005, whichapplication is incorporated herein by reference.

LIMITED COPYRIGHT WAIVER

A portion of the disclosure of this patent document contains material towhich the claim of copyright protection is made. The copyright owner hasno objection to the facsimile reproduction by any person of the patentdocument or the patent disclosure, as it appears in the U.S. Patent andTrademark Office file or records, but reserves all other rightswhatsoever. Copyright 2006, WMS Gaming, Inc.

BACKGROUND

Gaming machines may be operated as a stand alone unit, or linked in anetwork of some type to a group of gaming machines. As technology in thegaming industry progresses, more and more gaming services are beingprovided to gaming machines via communication networks that link groupsof gaming machines to a remote central server computer that provides oneor more gaming services. As an example, gaming services that may beprovided by the remote computer to a gaming machine via a communicationnetwork of some type include player tracking, accounting, cashless awardticketing, lottery, progressive games and bonus games. In addition,gaming machines are evolving into gaming platforms where the gamingservices and game play options provided on the gaming machines may bedynamically configured. Thus, the number and type of game services andgame play options offered on a particular gaming machine may varyregularly with time.

A gaming entity may operate hundreds, thousands or ten of thousands ofgaming machines. Since gaming is allowed in many locations throughoutthe world, casinos may have games distributed over a wide geographicarea. Within casinos, the gaming machines may be connected via one ormore dedicated networks. Servers are usually located in a backroom ofthe casino away from the casino floor.

Current techniques for initially loading, modifying or replacing gamesoftware in gaming machines are generally inconvenient, time-consuming,and expensive. In one technique, the entire gaming machine isdisconnected from the central server and replaced with a new machine.This involves the shipment of machines to and from a gamingestablishment and requires the services of an appreciable number ofskilled and semi-skilled service personnel. The service personnel mustidentify the machines to be replaced, locate the machines on the gamingestablishment floor, and then replace the existing machines with the newmachines. In another technique, the media containing the software isreplaced with new devices containing the new software. Again, theservice personnel must identify the machines to receive the new softwaremedia, locate the machines on the gaming establishment floor, and thenreplace the existing media with the new media. In this case, media maybe a hard disk, flash, various Non-Volatile media such a EEPROM, EPROM,etc.

In yet another technique, the new software can be downloaded to thegaming machine from the central server linked to the gaming machine.This downloading technique facilitates modifications to the gamesoftware in that it does not require removal of the gaming machine anddoes not require service personnel to visit the gaming machine site orthe gaming machine itself. Nonetheless, the procedure for downloadingthe new game software to the gaming machine across a communications linkcan be time-consuming and subject to security concerns. It can alsoresult in overloading communications links to the detriment of real timegaming information flow. Also, the machine is generally out of serviceand therefore not generating any revenues during the time at which thenew software is being downloaded. Regulated gaming jurisdictions may bereluctant to permit new software to be downloaded to the gaming machinewithout some assurance that the downloaded software complies with localregulations. Therefore, the downloaded software must be verified andauthenticated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a peer to peer network of gaming machinesaccording to an example embodiment.

FIG. 2 is a flowchart illustrating a process of obtaining configurationdata from a peer in the network of FIG. 1.

FIG. 3 is a flowchart illustrating a process of providing configurationdata to a peer in the network of FIG. 1.

FIG. 4 is a perspective view of a gaming machine according to an exampleembodiment.

FIG. 5 is a block diagram of processing components of a gaming machineaccording to an example embodiment.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments which may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized and that structural, logical andelectrical changes may be made without departing from the scope of thepresent invention. The following description is, therefore, not to betaken in a limited sense, and the scope of the present invention isdefined by the appended claims.

The functions or algorithms described herein are implemented in softwareor a combination of software and human implemented procedures in oneembodiment. The software comprises computer executable instructionsstored on computer readable media such as memory or other type ofstorage devices. The term “computer readable media” is also used torepresent carrier waves on which the software is transmitted. Further,such functions correspond to modules, which are software, hardware,firmware or any combination thereof. Multiple functions are performed inone or more modules as desired, and the embodiments described are merelyexamples. The software is executed on a digital signal processor, ASIC,microprocessor, or other type of processor operating on a computersystem, such as a personal computer, server or other computer system.

A gaming machine network is shown generally at 100 in FIG. 1. The gamingmachine network 100 comprises a server 110 coupled to a hub 115, andmultiple peer to peer networked gaming machines 120, 125 and 130. In oneembodiment, hub 115 provides individual hardwired connectivity, such asby Ethernet to the gaming machines. It may also serve as a router toother networks within the casino, possibly to a Gateway at 140 and/orslot administrative workstation at 135. In further embodiments, hub 115may provide wireless connectivity to the gaming machines.

While three gaming machines are shown, many more gaming machines may beincluded in the peer to peer network, but are not shown for simplicity.The gaming machines may also have the ability to communicate directlywith each other, such as by wired or wireless connection. In oneembodiment, a slot administrative workstation 135 is also coupled to thenetwork. Workstation 135 provides administrative access to the gamingmachines, and also access to gateway 140 for connection to externalnetworks. Gateway 140 may be used to access the Internet, or directlyconnect to networks such as manufacturer networks for service andsupport communications. The physical connections shown in FIG. 1 arerepresentative of one connection scheme. Many other connectionmechanisms may be utilized.

FIG. 2 is a flowchart of a process 200 of a peer gaming machineobtaining information from another peer gaming machine. The informationmay be referred to as a download that may include configuration data,gaming content, and game assets, such as images, sounds, video,paytables and executable code. Other information may also be included indownloads.

In one embodiment, a gaming machine, such as gaming machine 125 is newlyadded to the network, and may not have information, including one ormore games or themes that are desired. For instance, a gaming machinemay be placed in a section of a gaming environment, such as a casino,where a particular game or theme may be desired by management, or to fitin with the theme or games on gaming machines nearby. The process 200 isbegun by the newly added gaming machine 125 broadcasting a discoverypacket at 210, thus becoming a requesting machine. The discovery packetmay include a MAC address or other address identifying gaming machine125, and indicates information desired as well as status of download,meaning whether this is a new download or the continuation of anexisting download.

The requesting machine receives responses at 215 from availableproviders, such as other gaming machines 120, 130 or the server at 110,which have the desired game or theme and are compatible and able toprovide it to the requesting machine via the peer to peer network.Responses may also come from other devices coupled to the gaming machinenetwork. Devices may include available intermediaries, such as a gamingmachine, a sign controller or central game server. The responses areevaluated by requesting machine at 220 to determine which gaming machinewould make the best providing device. Latency of response to the initialbroadcast discovery packet may be used to determine the best providingdevice, or in further embodiments, information in the response mayindicate whether a device is not busy. In further embodiments, variousweights may be applied to determine the best providing device on factorssuch as suitability, quality of connection, throughput levels, QOS,error rates, or other factors.

The requesting machine then selects a providing device, and sends adownload request at 225, confirming the data or information that isdesired, such as a game or theme. Configuration data, such as gamesettings, payouts, etc., may also be requested at this time. Downloadpackets are then received at 230 from the selected providing device andstored on the requesting machine secondary media, such as a disk driveor other storage or memory device on the requesting machine.

In various embodiments, packets are checked as received for correctreception. Error correction and checksum techniques may be used.Incorrectly received or uncorrectable packets may be requested again.The download may also be encrypted, with secure keys used to decrypt thedownloads. Checksums or other signature technologies may be used toensure the accuracy and authentication of the downloads may also beemployed. Certificates may also be used.

In one embodiment, the requesting machine keeps track of the suitabilityof the providing device at 235 during the download. Suitability may bedetermined as a function of connectivity, quality of connection,throughput levels, QOS, error rates, or other factors. If thesuitability falls below a predetermined level at 240, such as an averagenumber of bytes received per second, the requesting machine may explorethe availability of other potential providers by again broadcasting adiscovery packet at 210 and evaluating responses, or reevaluatingresponses received from the original discovery packet. The requestingmachine keeps track of the packets received, and may dynamically switchproviders by selecting a provider likely to provide better suitability.

A providing device may also send a packet indicating that it has justbecome busy, such as if a player has started using the device, such as agaming machine, or other high priority tasks are being serviced. Theproviding device may also indicate that it will no longer provide thedownload, and actually stop sending packets corresponding to thedownload.

Once the requesting machine has decided to dynamically switch providersat 240, the requesting machine may send a stop download request to theoriginal providing device if it has not already stopped. The requestingmachine then identifies a next provider as above starting at 210 andsends a new download request to the selected providing deviceidentifying the game or theme, and the next packet needed to completethe download. It then starts receiving the remaining packets andcontinues to store them as required for proper operation when thedownload is complete at 245.

In some embodiments, the requesting machine acts as a arbiter, decidingwhich device to select for the download. In further embodiments, acentral arbiter may be employed. The central arbiter may collectconnection information as well as information regarding the content orstored information on each device coupled to the network. It may alsocollect information regarding the state of each device, and whether ornot it is available to provide a download.

Such a central arbiter may then receive a discovery packet from arequesting device, and determine which other device in the networkshould provide the download. It may then inform the requesting deviceand the selected providing device, or just command the providing deviceto start providing the download.

In one embodiment, the central arbiter maintains connection information,and monitors the quality of connections. In alternative embodiments, itreceives information from the requesting device regarding the responsesit has received, and makes a decision based on that information. Thecentral arbiter may be a server, or another device on the network, suchas an idle gaming machine or the slot administrative workstation 135.

Slot administrative workstation 135 in one embodiment provides a userinterface to casino personnel in one embodiment. Traditionally, tochange gaming content, denominations, paytable (lines, percentages) orlanguages a technician would have to go to a casino, find the gamingmachine on the floor and perform a RAM Clear and reconfigure in the caseof denominations and paytable. For languages, a casino technician wouldhave to find the gaming machine on the casino floor and physically enterthe Operator Menu and change the languages.

In one embodiment, the slot administrative workstation may be connectedas described in FIG. 1 to provide an interface that allows the casinotechnician to perform various desired functions, such as changinglanguage configuration, changing paytables lines, percentages) anddenoms, changing theme, and updating casino specific content, whichcould be reserved strings within the game implementation that the casinocould redefine. In one embodiment, the gaming machine being updateddisplays an “Out of Service” message to warn potential users of themachine that it is not operational during the update.

In addition to manually changing these attributes, the casino operatormay also use the slot administrative workstation to schedule changes forany and all of these attributes by day, time of day and/or month,allowing casino operators to maximize payout for peak casino playingtimes and to personalize content.

To change themes, a casino operator may use the slot administrativeworkstation to change the theme on a machine by selecting a change themoption on the workstation. The casino operator then sends a command to aspecific gaming machine identifying the them it should use. The gamingmachine receives command and uses the peer to peer network to downloadnew gaming content using mechanisms described above.

Casino specific messages may also be provided. Message strings/graphicsareas may be reserved for casino use on every theme. The casino operatormay use an option within the slot administrative workstation to sendspecific content for these messages/graphics areas to a gaming machine.Such messages may include a location of graphics to use or the actualtext to be updated. Gaming machines may then download associatedgraphics content from a specified location or update text to new text inthe command message.

Language configurations may also be changed using the slotadministrative workstation. Currently, themes are released with a listof all languages they support. When a theme is configured, it sends acommand to the slot administrative workstation informing it of languagessupported. When casino operators want to change languages, the slotadministrative workstation may be used to select one or more of theavailable languages for a given theme and send the command to enable thelanguages listed. The gaming machine then updates the languagesavailable to the player from a selected device on the gaming network.

Denoms and paytable (lines/percentages) may also be changed. When agaming machine is configured, it communicates to the slot administrativeworkstation the paytable and denoms it supports. A casino operator thenuses the slot administrative workstation to change desired denoms and/orpaytable. The slot administrative workstation then sends a command tothe gaming machine to update to new denoms and/or paytable. The gamingmachine then changes to the appropriate denoms and/or paytable,obtaining the content to do so from a selected device on the network.

These features, combined with the ability to adjust all of them by timeof day, gives much greater flexibility to casino operators in how theyuse products having the ability to obtain updated information from otherdevice on the network. It also makes updating them much faster andrequires less support by manufacturers. It would also allow casinos tomaximize their profits by automatically adjusting payout based on usagerates and theme popularity.

In further embodiments, the server 110 or other device, such as thecentral arbiter audits connected machines to determine their currentconfigurations. Since peer devices can update peer machines, the currentconfiguration may not be known to the server 110. In furtherembodiments, an updated machine automatically communicates its status tothe server 110 or other device that keeps track of currentconfigurations. Machines may also request service, and machines needingconstant service may be flagged for special attention. The server 110may also monitor overall network quality and flag areas of the casinowhere network quality is degraded for further investigation.

FIG. 3 is a flow chart illustrating a process 300 performed by aproviding device in a peer to peer network of gaming machines anddevices. A potential providing device will receive a broadcast discoverypacket at 305. The potential providing device will assess whether it hasthe requested download at 310, and also whether it has sufficientresources to provide the download. It may be busy providing gamingservices to a player, or may otherwise be utilizing its resources fordownloading to another peer, or performing other tasks.

The potential providing device prepares and sends a response at 315 tothe discovery packet indicating its ability to provide the download andwhether or not it is busy. The response may simply indicate that itcannot provide the download, or is too busy to do so. If that is thecase, it may also simply not send a response. The response may alsoindicate that it has the time and ability to provide the download. Ifthe latter is the case, the potential providing device then may receivea request to provide the download at 320, and begin sending packets forthe download at 335 as the selected providing device.

At 340, the selected providing device monitors its ability to continueto provide download packets. The ability may include the same factorsconsidered when first replying to the discovery packet, such as whetheror not it is busy, or has become busy since beginning the download. Theability may also be determined by the peer machine receiving thedownload that has determined that the connection quality is no longersufficient, and has sent a request for the selected providing device todiscontinue the download. At 345, a decision is made whether or not tocontinue the download. If yes, the download is continued and the abilityto continue the download is again monitored. This loop may continue atpredetermined intervals or as otherwise interrupted until the downloadis completed, or conditions have changed. If the decision to continue isno, the download is stopped at 350. A message may be sent to therequesting machine indicating that downloading will stop or has stopped,allowing the requesting machine to request the download from anothersource.

In one embodiment, the decision to select a different provider is afunction of a comparison between an anticipated benefit (i.e. reducedtime to completion) versus the anticipated cost to perform the switch.

FIG. 4 shows a perspective view of a typical gaming machine 420 used inthe networked gaming system. The gaming machine 420 may have varyingstructures and methods of operation. For example, the gaming machine 420may be an electromechanical gaming terminal configured to playmechanical slots, or it may be an electronic gaming machine 420configured to play a video casino game such as blackjack, slots, keno,bingo, poker, etc. Typical components found in a gaming machine 420 aredescribed below. It should be understood that numerous other elementsmay exist and may be used in any number of combinations to create avariety of gaming terminal types. Further gaming devices, such as ticketprinters etc., may be incorporated into the gaming machine 420, oroperate as networked standalone devices. Such gaming devices may alsoimplement the methods illustrated in and described above.

The game itself is displayed to the player on a visual display 426, suchas a video display. The video display 426 may take the form of a cathoderay tube (CRT), a high resolution LCD, a plasma display, LED, or anyother type of video display suitable for use in a gaming terminal.Instead of a video display 426, the gaming machine 420 may have severalmechanical reels to display the game outcome.

The visual display 426 may include a touch screen 421 overlaying thedisplay to allow players to make game related selections. A push buttonpanel 422 is also typically offered, in addition to the touch screen421, to give players an alternative method for making gaming selections.

A wager acceptor 416 may include a coin slot acceptor 428 or a billvalidator 429 to enter monetary value to the gaming machine 420. Thegaming machine 420 may also have a ticket printer 423 that may printand/or read or otherwise encode ticket vouchers with a monetary value.The encoded ticket voucher may also have the casino name, type ofvoucher, validation number, and a bar code with control and/or securitydata.

Many gaming machines 420 are also equipped with a player tracking cardreader 524. A player may be enrolled in the gaming establishment'splayer club and may be awarded certain complimentary offers as thatplayer collects points on his player tracking account. The playerinserts the player-tracking card into the reader, allowing the gamingestablishment's player tracking server to record the player's wageringactivity. The gaming machine 420 may also include a player trackingdisplay 427 to be used with the player-tracking card and card reader424.

The gaming machine 420 is controlled by a central processing unit (CPU)518, as shown in FIG. 5. The CPU 518 controls the gaming terminal'speripheral devices. These peripheral devices may include a touch screen521, a push button panel 522, a player tracking card reader 524, a videodisplay 526, etc. (as discussed above). The number and the type ofperipheral devices may be different from those depicted in FIG. 5depending on the desired configuration of the gaming terminal.

The CPU 518 also executes the game program to give the player winningand losing game outcomes. The CPU 518 uses a random number generatorwith a probability table to select a random game outcome. This gameoutcome corresponds to a particular set of reel stop positions in theslot type gaming machine. The CPU 518 may also generate a random numberthat provides a winning progressive jackpot outcome.

The CPU 518 controls the peripheral devices and the execution of thegame program using system memory 512, which includes a volatile memory513 (e.g., a random access memory (RAM)), a non-volatile memory 514(such as an EEPROM), and an input/output (I/O) circuit 515. Althoughonly one microprocessor is shown, the central processing unit 518 mayinclude multiple microprocessors. Similarly, the system memory 512 ofthe central processing unit may include multiple RAM and multipleprogram memories. The CPU also communicates with the network via I/Ocircuit 515, performing the downloading processes described with respectto FIGS. 2 and 3.

The Abstract is provided to comply with 37 C.F.R. § 1.72(b) to allow thereader to quickly ascertain the nature and gist of the technicaldisclosure. The Abstract is submitted with the understanding that itwill not be used to interpret or limit the scope or meaning of theclaims.

1. A gaming machine implemented method comprising: requesting a downloadfrom devices in a peer to peer gaming machine network; evaluatingresponses from devices in the peer to peer gaming machine network;selecting a provider device that responded as a function of suitability;and requesting the download from the selected provider device.
 2. Themethod of claim 1 wherein the suitability is a function of latency of areceived response.
 3. The method of claim 1 wherein the suitability is afunction of quality of connection on which a response is received
 4. Themethod of claim 1 wherein the download contains game assets selectedfrom the group consisting of images, sounds, video, paytables andexecutable code.
 5. The method of claim 3 wherein the connection qualityis a function of throughput.
 6. The method of claim 3 wherein theconnection quality is a function of error rates.
 7. The method of claim1 and further comprising receiving download packets from the selectedprovider device.
 8. The method of claim 7 and further comprisingmonitoring quality of delivery during receiving download packets.
 9. Themethod of claim 8 and further comprising re-evaluation of the availableproviders and selecting a different provider device if the suitabilityof the current provider device becomes lower than a predeterminedthreshold.
 10. The method of claim 7 further comprising periodicre-evaluation of the available providers and selecting a differentprovider device if the suitability of said different provider device issuperior to the suitability of the current selected provider based on apredetermined threshold or formula.
 11. The method of claim 10 whereinselecting a different provider is a function of a comparison between ananticipated benefit versus an anticipated cost to perform the switch.12. The method of claim 1 and further comprising selecting a differentgaming machine to provide the download if the currently selected gamingmachine becomes busy.
 13. A computer readable medium having instructionsfor causing a gaming machine to perform a method comprising: requestinga download from devices in a peer to peer gaming machine network;evaluating responses from devices in the peer to peer gaming machinenetwork; selecting a device that responded as a function of suitability;and requesting the download from the selected device.
 14. The computerreadable medium of claim 10 wherein the method further comprisesreceiving download packets from the selected gaming machine.
 15. Thecomputer readable medium of claim 11 wherein the method furthercomprises monitoring continued suitability of the selected providerdevice during receiving download packets.
 16. The computer readablemedium of claim 12 wherein the method further comprises selecting adifferent device to provide the download if the suitability of thecurrent provider device becomes lower than a predetermined threshold.17. The computer readable medium of claim 11 wherein the method furthercomprises periodic re-evaluation of the available providers andselecting a different provider device if the suitability of saiddifferent provider device is greater than the suitability of the currentprovider device based on a predetermined threshold or formula.
 18. Agaming machine implemented method comprising: broadcasting a discoverypacket identifying gaming assets to peer gaming machines in a peer topeer gaming machine network; receiving responses from peer gamingmachines which are capable of providing the identified gaming asset;selecting a gaming machine capable of providing the identified gamingasset as a function of suitability; and requesting the identified gamingasset from such capable gaming machine.
 19. A machine implemented methodcomprising: requesting data from peer gaming machines in a peer to peergaming machine network; receiving responses from peer gaming machineswhich are capable of providing the identified data; selecting a gamingmachine capable of providing the identified data as a function ofconnectivity; and requesting the identified data from such capablegaming machine.
 20. A machine implemented method comprising: identifyinga download for a gaming machine in a peer to peer gaming machinenetwork; selecting a provider device in the peer to peer gaming machinenetwork that has the identified download as a function of suitability;and requesting the download from the selected provider device.
 21. Themethod of claim 20 wherein the provider device is selected by a centralarbiter.
 22. The method of claim 21 wherein the central arbiter is aserver or a slot administrative workstation.
 23. The method of claim 20wherein the download is authenticated.